package de.szut.ita13sommerfeld.blockadventure.gameentities;

import java.awt.Graphics;
import java.awt.Rectangle;
import java.util.LinkedList;

import de.szut.ita13sommerfeld.blockadventure.level.SpawnPoint;

public abstract class Player extends Entity {
	
	public static final float MAX_VELOCITY = 10;
	public static final float WIDTH = 48;
	public static final float HEIGHT = 96;
	
	protected float gravity;
	
	public Player(float x, float y, float width, float height, SpawnPoint spawnpoint, float gravity) {
		super(x, y, width, height, spawnpoint);
		this.gravity = gravity;
	}

	public abstract void render(Graphics g);
	public abstract void tick(LinkedList<Entity> entities);
	public abstract Rectangle getBottomBounds(); 
	public abstract Rectangle getBoundsTop();
	public abstract Rectangle getBoundsRight();
	public abstract Rectangle getBoundsLeft();

	public float getWidth() {
		return width;
	}

	public void setWidth(float width) {
		this.width = width;
	}

	public float getHeight() {
		return height;
	}

	public void setHeight(float height) {
		this.height = height;
	}

	public float getGravity() {
		return gravity;
	}

	public void setGravity(float gravity) {
		this.gravity = gravity;
	}
}
